import { KeyBinding } from '../core/KeyBinding';

export interface IInputReceiver {
	actions: { [ action: string ]: KeyBinding; };

	handleKeyboardEvent ( event: KeyboardEvent, code: string, pressed: boolean ): void;
	handleMouseButton ( event: MouseEvent, code: string, pressed: boolean ): void;
	handleMouseMove ( event: MouseEvent, deltaX: number, deltaY: number ): void;
	handleMouseWheel ( event: WheelEvent, value: number ): void;

	inputReceiverInit (): void;
	inputReceiverUpdate ( timeStep: number ): void;
}